package com.ushine.web.communication.netty.file;

import java.io.IOException;
import java.nio.file.Path;

/**
 * @Author: yls
 * @Date 2022/5/11 12:30
 * @Description: 文件处理器
 * @Version 1.0
 **/
public interface IFileHandlerService {
    /**
     * 功能描述:
     * 〈 全量下载文件 〉
     *
     * @param serialNumber 序列号
     * @param path 文件路径
     * @param version 请求版本号
     * @param fileNameType 文件名称
     * @return : boolean
     * @author : yls
     * @date : 2022/5/11 12:30
     */
    boolean filePush(String serialNumber, Path path, long version, String fileNameType);

    /**
     * 功能描述:
     * 〈 文件分片下载 〉
     *
     * @param serialNumber 序列号
     * @param fileName 文件名称
     * @param currentChunk 数据块
     * @param version 版本号
     * @param fileNameType 文件类型
     * @return : boolean
     * @author : yls
     * @date : 2022/5/11 12:32
     */
    boolean filePull(String serialNumber, String fileName, int currentChunk, long version,String fileNameType);

    /**
     * 功能描述:
     * 〈 删除对应文件所有的块 〉
     *
     * @param fileName 文件名称
     * @return : boolean
     * @author : yls
     * @date : 2022/5/11 12:31
     * @throws IOException io异常
     */
    boolean deleteFileChunk(String fileName) throws IOException;

}
